<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //使用内置构造函数创建对象
      let obj1 = new Object() //创建一个空对象，等同于{}
      ;(obj1.name = 'mark'),
        (obj1.show = function () {
          console.log('我叫：' + this.name)
        })

      let arr = new Array() //创建一个数组对象,等同于[]
      obj1.show() //调用obj1中show方法
      //使用自定义构造函数创建对象
      function User(name) {
        this.name = name //添加属性
        this.show = function () {
          //添加方法
          console.log('我叫：' + this.name)
        }
      }

      let rose = new User('rose') //创建User对象
      let jack = {}
      User.call(jack, 'jack') //借调构造函数User，完成对象的初始化
      rose.show()
      jack.show()
      console.log(rose instanceof User) //rose是否为User类型的实例
      console.log(rose instanceof Object) //rose是否为Object类型的实例
      console.log(jack instanceof User) //jack是否为User类型的实例
      console.log(jack instanceof Objetc) //jack是否为Object类型的实例
    </script>
  </body>
</html>
